{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Implementing a simple perceptron in python"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Toy dataset generation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n",
      "[[-0.11476 -0.14605]\n",
      " [ 1.26411  0.20133]\n",
      " [-0.19433  0.     ]\n",
      " ..., \n",
      " [ 1.36559  1.4677 ]\n",
      " [ 1.45857  1.13159]\n",
      " [ 2.13224  1.26225]]\n"
     ]
    }
   ],
   "source": [
    "import pylab as pl\n",
    "import numpy as np\n",
    "import matplotlib.cm as cm\n",
    "import sklearn.cross_validation as skcross\n",
    "%pylab inline --no-import-all\n",
    "\n",
    "np.set_printoptions(precision=5, suppress=True)\n",
    "\n",
    "def dataset_fixed_cov():\n",
    "    \"\"\"Generate 2 Gaussians samples with the same covariance matrix\"\"\"\n",
    "    n, dim = 300, 2\n",
    "    np.random.seed(42)\n",
    "    C = np.array([[0., -0.23], [0.83, .23]])\n",
    "    X = np.r_[np.dot(np.random.randn(n, dim), C),\n",
    "              np.dot(np.random.randn(n, dim), C) + np.array([1, 1])]\n",
    "    y = np.hstack((np.zeros(n), np.ones(n))).astype(np.int)\n",
    "    return X, y\n",
    "\n",
    "X, y = dataset_fixed_cov()\n",
    "\n",
    "print X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7f29c2d5dcd0>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f29edeb67d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.scatter(X[y==0, 0], X[y==0, 1], c='r')\n",
    "pl.scatter(X[y==1, 0], X[y==1, 1], c='b')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Perceptron implementation\n",
    "\n",
    "We build a perceptron with a sigmoid activation function. That is\n",
    "\n",
    "$$o_i = sigmoid(W*x_i + b)$$\n",
    "\n",
    "Where $sigmoid(x) = \\frac{1}{1 + e^{-x}}$\n",
    "\n",
    "The error is simply ($y_i$ being the expected output value)\n",
    "\n",
    "$$e_i = (y_i - o_i)^2$$\n",
    "\n",
    "With an optional weight decay term :\n",
    "\n",
    "$$e_i = (y_i - o_i)^2 + \\frac{\\alpha}{2}W^TW$$\n",
    "\n",
    "We train the network with minibatch SGD. That is, at each epoch, we compute the average gradient over a bunch of examples as opposed to a single one."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Error function derivative\n",
    "\n",
    "Note that if we add an entry set to 1 at the end of the x vector, we can transform our $Wx + b$ into $W\\hat{x} + b$ where $\\hat{x} = \\left[\\begin{matrix}x \\\\ 1 \\end{matrix}\\right]$\n",
    "\n",
    "$$l_i = W\\hat{x}$$\n",
    "\n",
    "$$o_i = sigmoid(l_i)$$\n",
    "\n",
    "$$e_i = (y_i - o_i)^2$$\n",
    "\n",
    "We want to compute the derivative of $e_i$ w.r.t $W$. From the [chain rule](http://en.wikipedia.org/wiki/Chain_rule), we have\n",
    "\n",
    "\n",
    "$$\\frac{\\partial e_i}{\\partial W} = \\frac{\\partial e_i}{\\partial o_i} \\frac{\\partial o_i}{\\partial l_i} \\frac{\\partial l_i}{\\partial W}$$\n",
    "\n",
    "With\n",
    "$$\\frac{\\partial e_i}{\\partial o_i} = -2(y_i - o_i)$$\n",
    "$$\\frac{\\partial o_i}{\\partial l_i} = sigmoid(l_i)(1 - sigmoid(l_i)$$\n",
    "$$\\frac{\\partial l_i}{\\partial W} = \\hat{x}$$\n",
    "\n",
    "Which gives us\n",
    "\n",
    "$$\\frac{\\partial e_i}{\\partial W} = -2(y_i - o_i) sigmoid(l_i)(1 - sigmoid(l_i) \\hat{x}$$\n",
    "\n",
    "Which we use to update our weights at each step of gradient descent :\n",
    "\n",
    "$$W^{t+1} = W^t - \\frac{\\partial e_i}{\\partial W}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# activation functions\n",
    "def sigmoid(x):\n",
    "    return 1 / (1 + np.exp(-x))\n",
    "\n",
    "def sigmoid_derivative(x):\n",
    "    return sigmoid(x) * (1 - sigmoid(x))\n",
    "\n",
    "class Perceptron(object):\n",
    "    def __init__(self, X_dim, activation='sigmoid'):\n",
    "        if activation == 'sigmoid':\n",
    "            self.activation = sigmoid\n",
    "            self.activation_deriv = sigmoid_derivative\n",
    "        else:\n",
    "            raise ValueError('Unknown activation function %s' % activation)\n",
    "            \n",
    "        nweights = X_dim + 1\n",
    "        self.W = (2 * np.random.random(nweights)) * 0.25\n",
    "        self.W = self.W.reshape(-1, 1)\n",
    "        self.train_errors = []\n",
    "        self.validation_errors = []\n",
    "    \n",
    "    def _add_bias_X(self, X):\n",
    "        \"\"\"Returns X with an additional entry set to 1, representing bias\"\"\"\n",
    "        temp = np.ones([X.shape[0], X.shape[1]+1])\n",
    "        temp[:, :-1] = X\n",
    "        return temp\n",
    "    \n",
    "    def _error_derivative(self, y_true, y_pred, y_pred_prime):\n",
    "        return -2 * (y_true - y_pred) * y_pred_prime\n",
    "    \n",
    "    def _error(self, y_true, y_pred):\n",
    "        return (y_true - y_pred)**2\n",
    "        \n",
    "    def train(self, X_train, y_train, X_validation, y_validataion,\n",
    "              learning_rate=0.2, epochs=10, minibatch_size=10, weight_decay=0):\n",
    "        assert len(X_train.shape) == 2, \"X must be 2D\"\n",
    "        X_train = self._add_bias_X(X_train)\n",
    "        X_validation = self._add_bias_X(X_validation)\n",
    "        \n",
    "        self.weight_decay = weight_decay\n",
    "        \n",
    "        # minibatch SGD \n",
    "        for epoch in range(epochs):\n",
    "            minibatch_indices = np.arange(X_train.shape[0])\n",
    "            np.random.shuffle(minibatch_indices)\n",
    "            # for each minibatch, compute gradient of weights\n",
    "            for start in xrange(0, len(minibatch_indices), minibatch_size):\n",
    "                end = start + minibatch_size\n",
    "                indices = minibatch_indices[start:end]\n",
    "                Xb = X_train[indices]\n",
    "                yb = y_train[indices]\n",
    "                \n",
    "                l = Xb.dot(self.W).flatten()\n",
    "                deltas = self._error_derivative(yb, self.activation(l), self.activation_deriv(l))\n",
    "                grad_W = Xb * np.tile(deltas.reshape(-1, 1), (1, Xb.shape[1]))\n",
    "                grad_W = np.mean(grad_W, axis=0).reshape(-1, 1)\n",
    "                self.W -= learning_rate * grad_W + self.weight_decay * self.W\n",
    "            \n",
    "            # evaluate train/validation errors\n",
    "            self.train_errors.append(\n",
    "                self._error(y_train, self.decision_function(X_train, addbias=False)).mean()\n",
    "            )\n",
    "            self.validation_errors.append(\n",
    "                self._error(y_validation, self.decision_function(X_validation, addbias=False)).mean()\n",
    "            )\n",
    "        \n",
    "        return self\n",
    "                    \n",
    "                    \n",
    "    def predict(self, X, addbias=True):\n",
    "        return (self.decision_function(X, addbias) > 0.5).astype(np.int)\n",
    "\n",
    "\n",
    "    def decision_function(self, X, addbias=True):\n",
    "        \"\"\"\n",
    "        - if addbias is True, an entry with 1 will be added to X to represent the bias.\n",
    "        \"\"\"\n",
    "        if addbias:\n",
    "            X = self._add_bias_X(X)\n",
    "        return self.activation(X.dot(self.W).flatten())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train, X_validation, y_train, y_validation = skcross.train_test_split(X, y, test_size=0.33)\n",
    "perceptron = Perceptron(X.shape[1]).train(X_train, y_train, X_validation, y_validation,\n",
    "                                          epochs=50, minibatch_size=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x7f29ec662290>]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEACAYAAABS29YJAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlclXX+///HQUhUFBAQFDASkMUFUNDMatAWykZsJium\npsW0zD7W6MemGX+3WbT6uEzjzDha3ygnq1nQmWrSDJlRkyYzotwV3EGPKLgCKiJyvH5/XMNBlBAQ\nPAfO8367vW9nuZbz4rrp87rO+3pf17EYhmEgIiLtmpujCxARkdansBcRcQEKexERF6CwFxFxAQp7\nEREXoLAXEXEBVw37rKwsoqOjiYyMZO7cuVdM37lzJ8OGDcPT05N58+bVmTZ79mz69evHgAEDeOSR\nRzh//nzLVS4iIo3WYNjbbDYmT55MVlYWeXl5ZGRkkJ+fX2cePz8/FixYwIsvvljn/cLCQt5++202\nbtzItm3bsNlsLFmypOX/AhERuaoGwz43N5eIiAjCwsLw8PAgLS2NZcuW1ZknICCAxMREPDw86rzf\nrVs3PDw8qKiooLq6moqKCoKDg1v+LxARkatqMOyLiooIDQ21vw4JCaGoqKhRK+7evTvTpk2jd+/e\n9OrVCx8fH+68885rq1ZERJqlwbC3WCzNXvG+ffv4wx/+QGFhIYcPH+bMmTP89a9/bfb6RESk+dwb\nmhgcHIzVarW/tlqthISENGrF3377Lbfccgt+fn4A/PCHP2T9+vU8+uijdeaLiIhg3759Ta1bRMSl\nhYeHs3fv3kbP3+CRfWJiInv27KGwsJCqqiqWLl1KampqvfNefj+16OhocnJyOHfuHIZhsHr1amJj\nY69Ybt++fRiGoWYY/PrXv3Z4Dc7StC20LbQtGm5NPUhu8Mje3d2dhQsXkpKSgs1mY/z48cTExJCe\nng7AxIkTKS4uJikpifLyctzc3Jg/fz55eXnExcXx+OOPk5iYiJubG4MGDeKZZ55pUnEiItIyGgx7\ngHvvvZd77723znsTJ060Pw8KCqrT1XOpl156iZdeeukaSxQRkWulK2idSHJysqNLcBraFrW0LWpp\nWzSfxTAMh/54icViwcEliIi0OU3NTqc4sq+srnR0CSIi7ZpThP3ek40fPiQiIk3nFGG/6/guR5cg\nItKuOUfYn1DYi4i0JqcI+53Hdzq6BBGRds0pwl5H9iIircs5wv74Lg2/FBFpRU4R9u5u7pScLXF0\nGSIi7ZZThH20f7RG5IiItCKnCPsovyj124uItCLnCHv/KI3IERFpRU4R9tH+0TqyFxFpRU4R9lF+\nUeqzFxFpRU4R9n18+3Co/BDnq887uhQRkXbJKcLeo4MHN/rcqBuiiYi0EqcIe1C/vYhIa3KasI/y\n04gcEZHW4hRhX1amsfYiIq3JKcJ++3ZdRSsi0pqcIuy3bq29sEo3RBMRaXlOE/b+nf3p4NaBo2eP\nOrocEZF256phn5WVRXR0NJGRkcydO/eK6Tt37mTYsGF4enoyb968OtNKS0sZO3YsMTExxMbGkpOT\nU+9nbN1qPmpEjohI62gw7G02G5MnTyYrK4u8vDwyMjLIz8+vM4+fnx8LFizgxRdfvGL5n/zkJ4wa\nNYr8/Hy2bt1KTExMvZ+zfTsYhq6kFRFpLQ2GfW5uLhEREYSFheHh4UFaWhrLli2rM09AQACJiYl4\neHjUeb+srIwvvviCp556CgB3d3e8vb3r/RwvLzhwQMMvRURaS4NhX1RURGhoqP11SEgIRUVFjVpx\nQUEBAQEBjBs3jkGDBvH0009TUVFR77wDB5pdOerGERFpHe4NTbRYLM1ecXV1NRs3bmThwoUkJSUx\nZcoU5syZw8svv3zFvOXlM/jDHyA28TibKjfBI83+WBGRdik7O5vs7OxmL99g2AcHB2O1Wu2vrVYr\nISEhjVpxSEgIISEhJCUlATB27FjmzJlT77yTJs3gk0/gd7OrWDR7Eeerz9PRvWNj/wYRkXYvOTmZ\n5ORk++uZM2c2afkGu3ESExPZs2cPhYWFVFVVsXTpUlJTU+ud9/Lx8UFBQYSGhrJ7924AVq9eTb9+\n/epdtqYb54YON9Dbuzf7Tu1r0h8hIiINa/DI3t3dnYULF5KSkoLNZmP8+PHExMSQnp4OwMSJEyku\nLiYpKYny8nLc3NyYP38+eXl5eHl5sWDBAh599FGqqqoIDw9n8eLF9X5OdDQUFkJlZe2VtLEBsS3+\nx4qIuCqL4eBLVi0WC4ZhMGAAvPceZBz/Kd07dWf6bdMdWZaIiFOryc7GcooraKG2KyfKXzdEExFp\naU4V9tu2afiliEhrcJqwHzDgv0f2frohmohIS3OasK/pxvHv7I8FC8cqjjm6JBGRdsNpwj44GC5c\ngKNHLbq3vYhIC3OasLdYzK6cbdtq720vIiItw2nCHi4ZkaOfKBQRaVFOF/YakSMi0vKcKuwvH5Ej\nIiItw6nCvn9/yM+HG7uFYy2zUmWrcnRJIiLtglOFvZcX9OoFBwtuINQ7lH0ndUM0EZGW4FRhD7Vd\nOeq3FxFpOU4X9peOyMk/ln/1BURE5KqcMuy3bYMhwUP40vqlo8sREWkXnC7sa7px7rjpDr44+IVO\n0oqItACnC/vwcDh6FDyq/YjsHknOoRxHlyQi0uY5Xdh36AD9+sH27XBnnztZvX+1o0sSEWnznC7s\nobYr564+d7Fq/ypHlyMi0uY5ZdjXjMgZ3ns4249up7Sy1NEliYi0aU4b9tu2gae7J8NChpFdmO3o\nkkRE2jSnDPuabhzD+G9Xzj515YiIXAunDHt/f+jSBQ4ehLvC1W8vInKtnDLsobYrZ2DgQEorSzlQ\nesDRJYmItFlXDfusrCyio6OJjIxk7ty5V0zfuXMnw4YNw9PTk3nz5l0x3WazkZCQwOjRo5tU2MCB\nsGkTuFncuKPPHRqCKSJyDRoMe5vNxuTJk8nKyiIvL4+MjAzy8+ver8bPz48FCxbw4osv1ruO+fPn\nExsbi8ViaVJhI0bAv/5lPtcQTBGRa9Ng2Ofm5hIREUFYWBgeHh6kpaWxbNmyOvMEBASQmJiIh4fH\nFcsfOnSIzMxMJkyYgGEYTSps5EjzwqqjR82Lq9YUrOGicbFJ6xAREVODYV9UVERoaKj9dUhICEVF\nRY1e+dSpU3nttddwc2v6qYGOHeGuu2DFCujt3ZvunbqzpXhLk9cjIiLg3tDEpna9XGrFihX06NGD\nhIQEsrOzG5x3xowZ9ufJyckkJycDMGYM/OMf8NRTtV05CT0Tml2TiEhblZ2dfdUsbUiDYR8cHIzV\narW/tlqthISENGrF69evZ/ny5WRmZlJZWUl5eTmPP/4477///hXzXhr2lxo1Cp57DioqzK6cN755\ng5eGv9SozxcRaU8uPRAGmDlzZpOWb7B/JTExkT179lBYWEhVVRVLly4lNTW13nkv75OfNWsWVquV\ngoIClixZwsiRI+sN+oZ07w6DB8Pq1TAibARfHfqKyurKJq1DRESucmTv7u7OwoULSUlJwWazMX78\neGJiYkhPTwdg4sSJFBcXk5SURHl5OW5ubsyfP5+8vDy8vLzqrKu5XUJjxsCyZZCa6s2AHgP48uCX\n3NHnjmatS0TEVVmMpg6TaekCLJYGR+oUFMDNN8PhwzDzP7+iylbFnDvnXMcKRUScz9Wy83JOewVt\njZtugsBAyMnReHsRkeZy+rCH2q6cm0NuZu/JvRyvOO7okkRE2pQ2FfYeHTy4rfdtfFbwmaNLEhFp\nU9pE2A8eDGfPws6duuWxiEhztImwt1ggNdU8uq+55bGDzyuLiLQpbSLswezKWb4cYvxjuHDxAntP\n7nV0SSIibUabCfvkZNixA44etZDaN5UP8z90dEkiIm1Gmwn7jh3h7rvNG6Ol9U9jyfYlji5JRKTN\naDNhD7Wjcm7tfSvHKo6Rfyz/6guJiEjbCvtRoyA7GyrPdeCh2IdYumOpo0sSEWkT2lTY+/pCUhKs\nWlXblaNROSIiV9emwh5qu3KGBA/hvO08W0r0gyYiIlfTJsN+xQq4eNFCWj+dqBURaYw2F/Y33ggh\nIWbffVr/NJbuWKquHBGRq2hzYQ8wYQKkp8PAwIF4unuSW5Tr6JJERJya09/Pvj7l5eYRfl4evLVr\nJqWVpfz+nt+3UoUiIs6n3d3Pvj7dusFDD8GiRfBw/4f5e97fsV20ObosERGn1SbDHmDSJHjrLYjw\niaZHlx6sO7jO0SWJiDitNhv28fEQGmqOzHm438MalSMi0oA2G/ZgHt3/v/9nhv0H+R9wwXbB0SWJ\niDilNh32Dz4ImzZB9fGbCPcN1y9YiYh8hzYd9p6e8OST5jDMtP5pLNmhrhwRkfq0yaGXl9q3D26+\nGb7aUcSQxQM4Mu0IHd07tmCFIiLOp1WGXmZlZREdHU1kZCRz5869YvrOnTsZNmwYnp6ezJs3z/6+\n1WplxIgR9OvXj/79+/PHP/6x0YU1Vng4JCbClyuDGRg4kKy9WS3+GSIibd1Vj+xtNhtRUVGsXr2a\n4OBgkpKSyMjIICYmxj7PsWPHOHDgAB9//DG+vr5MmzYNgOLiYoqLi4mPj+fMmTMMHjyYjz/+uM6y\n13pkD+bPFc6aBU8ufJPPD3xOxgMZ17Q+ERFn1+JH9rm5uURERBAWFoaHhwdpaWksW7aszjwBAQEk\nJibi4eFR5/2goCDi4+MB8PLyIiYmhsOHDze6uMa67z44cgQiL4wla28WJ8+dbPHPEBFpy64a9kVF\nRYSGhtpfh4SEUFRU1OQPKiwsZNOmTQwdOrTJy15Nhw7wzDOw5B1/7ou8j3c2vdPinyEi0pa5X20G\ni8VyzR9y5swZxo4dy/z58/Hy8rpi+owZM+zPk5OTSU5ObvJnjB8PMTHwwbQXmPCvh5l681Q6uHW4\nhqpFRJxHdnY22dnZzV7+qmEfHByM1Wq1v7ZarYSEhDT6Ay5cuMADDzzAj3/8Y+6///5657k07Jsr\nKAhSUmDHv4fQo0sPPt3zKalRqde8XhERZ3D5gfDMmTObtPxVu3ESExPZs2cPhYWFVFVVsXTpUlJT\n6w/Ry08WGIbB+PHjiY2NZcqUKU0qrDkmTYI33oD/SXyeBbkLWv3zRETaikaNs1+5ciVTpkzBZrMx\nfvx4pk+fTnp6OgATJ06kuLiYpKQkysvLcXNzo2vXruTl5bF582Zuv/12Bg4caO8Omj17Nvfcc09t\nAS0wGqeGYcDw4fD0pPNML7mRtU+sJSYg5uoLioi0MU3NzjZ/UdXlsrPN/vu09F9Rev4Er9/3eout\nW0TEWbjE/ewbkpxsXmjVddezZGzPoKyyzNEliYg4XLsLezAvsFowqxd3hN3N4s2LHV2OiIjDtcuw\nT0w075fTo+B5Xv/mdS4aFx1dkoiIQ7XLsAd45RX4++9uoYt7N90vR0RcXrsN+9hYuG+UhRuLNQxT\nRKTdjca5VGEhDBpSidu03qyfsI6+fn1b5XNERK43lx+Nc6mwMHj0YU/6lE7g9VwNwRQR19Wuj+wB\niosheogVJsVh/d8DdO3YtdU+S0TketGR/WWCgmDSo6H4lo7k3c3vOrocERGHaPdH9gCnTsFNt+bS\n8YkfsG/KLrxuuPLOmyIibYmO7Ovh6wsvPTqEGw5/j9e+fM3R5YiIXHcucWQPcO4c9E06SNmPEsh7\nfgsh3Rp/m2YREWejI/vv0KkTLHi1NzdsmcTPVk13dDkiIteVy4Q9wJgxEH/m56zYsYbcolxHlyMi\nct24VNhbLPD6772wrX6FyZ/873XpPhIRcQYuFfYAUVEwadiT7D14lg/yPnB0OSIi14XLnKC91OnT\n0GfkWjzGPsX+afl4unte188XEblWOkHbCF27wvypI6goiOP3X813dDkiIq3OJY/swfy92qR7drNz\n+C3sn5ZHjy49rnsNIiLNpSP7RrJY4E+/6cvFzY/x0spfObocEZFW5bJhDxAXB4+G/IqlWz9iS/EW\nR5cjItJqXLYbp8apUxD2gz/Rc8zrbHvhazw6eDisFhGRxlI3ThP5+kL6s09hzQ/i12tmObocEZFW\ncdWwz8rKIjo6msjISObOnXvF9J07dzJs2DA8PT2ZN29ek5Z1FmlpFsZY3uZ3X7zOhsMbHV2OiEiL\na7Abx2azERUVxerVqwkODiYpKYmMjAxiYmLs8xw7dowDBw7w8ccf4+vry7Rp0xq9LDi+G6dGRQVE\njv0zllt/w76XvqWje0dHlyQi8p1atBsnNzeXiIgIwsLC8PDwIC0tjWXLltWZJyAggMTERDw8PJq8\nrDPp3Bmy5v6YY7vCeeGjmY4uR0SkRTUY9kVFRYSGhtpfh4SEUFRU1KgVX8uyjjJggIVXb36Tdzb9\nif/s/9rR5YiItBj3hiZaLJZmr7gpy86YMcP+PDk5meTk5GZ/7rV68dkgPnr6j4xZ/ASHf7WJTh6d\nHFaLiEiN7OxssrOzm718g2EfHByM1Wq1v7ZarYSENO5HP5qy7KVh72gWC6z87cMET/mQtLd+ybL/\n+a2jSxIRueJAeObMpnU3N9iNk5iYyJ49eygsLKSqqoqlS5eSmppa77yXnyhoyrLOxscHPhr/BisO\n/I0Pctc5uhwRkWvW4JG9u7s7CxcuJCUlBZvNxvjx44mJiSE9PR2AiRMnUlxcTFJSEuXl5bi5uTF/\n/nzy8vLw8vKqd9m2IuU2f3687g1+/OGTjIjZhF/Xro4uSUSk2Vz+CtqGXLwIN/1kAu6dzrFnzl9w\nc2v+OQwRkZakK2hbkJsbfPPyHzls28JDsxc7uhwRkWZT2F9FD9/OfPrk3/nn6Z/xh7/tcHQ5IiLN\norBvhJEDYvnFzb/hxZyHWPd1haPLERFpMvXZN5JhGIxc8AS5OR7s+s2faOQIVBGRVqE++1ZisVj4\n5Nk36By9juGT/sKZM46uSESk8RT2TeB1gxernv47RxOmkjpuNzaboysSEWkchX0TxfeM47f3vco3\nYQ/x/NRK2kAPlIiIwr45nhvyDHcmRPH308/zs58bCnwRcXoK+2awWCy8/8AieiVt4P3CV/jFL1Dg\ni4hTU9g3U9eOXVn1+Eo63fw+725/kybek0hE5LpS2F+DQK9AVj/xLy7e9gqL1n/Iq686uiIRkfo1\neCM0ubrw7uFkPrqCu2wpvPVpd9zdR/Dznzu6KhGRunRk3wISeibwj4eWUnHfw7zxz038VrfAFxEn\no7BvISNuGsGbo9+gauz3WfCXfcyapZO2IuI81I3TgsbGjuV4xXHmuqfwt6XrKCwM4o03wF1bWUQc\nTEf2LezZxGcZP/hJLjw6gj3FRYweDadPO7oqEXF1CvtW8Ivbf8G4hCew3vk9fG48yO23w+HDjq5K\nRFyZOhhayc9v/Tme7p7MN77HD0NXM2xYOJ9+Cv37O7oyEXFFOrJvRVNunsLPhv+Mv3dO5vmZuxg5\nEtascXRVIuKKFPat7NnEZ3llxCv87sQI5i7eziOPwG9/a/6+rYjI9aIfL7lOMrZl8L///l8WJWfy\n6uQEfHzgvfegRw9HVyYibZF+vMRJ/WjAj3h91Os8tfYe/r/FK0lIgIQEWL3a0ZWJiCvQkf119sWB\nL/jRhz9iXPw4brs4g3FPdODxx+Hll8HDw9HViUhb0eJH9llZWURHRxMZGcncuXPrneeFF14gMjKS\nuLg4Nm3aZH9/9uzZ9OvXjwEDBvDII49w/vz5RhfWXt12421seGYD6w+tZ+7hu/nXlyVs2QK33w4F\nBY6uTkTaqwbD3mazMXnyZLKyssjLyyMjI4P8/Pw682RmZrJ371727NnDW2+9xaRJkwAoLCzk7bff\nZuPGjWzbtg2bzcaSJUta7y9pQwK9Avn3j//N8NDh3PPRYF56/T88+CAMHQp/+5ujqxOR9qjBsM/N\nzSUiIoKwsDA8PDxIS0tj2bJldeZZvnw5TzzxBABDhw6ltLSUkpISunXrhoeHBxUVFVRXV1NRUUFw\ncHDr/SVtTAe3Drw84mUWpS4i7cOHqB76G1ZmXeSVV+DHP4ayMkdXKCLtSYNhX1RURGhoqP11SEgI\nRUVFjZqne/fuTJs2jd69e9OrVy98fHy48847W7j8tu+eiHv45ulv+OfOf/Ly7h+wdn053bpBfDys\nW+fo6kSkvWjwClqLxdKoldR3kmDfvn384Q9/oLCwEG9vbx588EH++te/8uijj14x74wZM+zPk5OT\nSU5ObtTntheh3qF8/uTnTM2ayoi/DeXjlz/m3nujGDsWnn4afvUrnbwVcXXZ2dlkZ2c3e/kGwz44\nOBir1Wp/bbVaCQkJaXCeQ4cOERwcTHZ2Nrfccgt+fn4A/PCHP2T9+vVXDXtXdUOHG3j9vtdZtHER\nty2+jcVjFrN5832MGwe33grvvw9RUY6uUkQc5fID4ZlN/C3UBrtxEhMT2bNnD4WFhVRVVbF06VJS\nU1PrzJOamsr7778PQE5ODj4+PgQGBhIVFUVOTg7nzp3DMAxWr15NbGxsk4pzRRMGTWBZ2jImrpjI\nn3b/H59+avDYYzB8OEyfDmfOOLpCEWmLGgx7d3d3Fi5cSEpKCrGxsTz88MPExMSQnp5Oeno6AKNG\njaJPnz5EREQwceJE3njjDQDi4+N5/PHHSUxMZODAgQA888wzrfzntA/DQoeR+3Qun+z+hIc+eJAn\nnznD1q1w6BDExMDSpfphFBFpGl1U5cTOV5/nuU+fI/dwLh899BGRfpF88QVMngzdu8OCBbqLpoir\n0u0S2pGO7h1ZlLqI5xKfY9ifhvHWhre49VaDDRtg7FgYORKmToVTpxxdqYg4O4W9k7NYLExKmsR/\nxv2HN799k9EZozleWcz//A/s2AEVFeaJ29//HnSBsoh8F4V9GxEbEEvOhBzig+KJfzOej/I/IiAA\n0tNh7Vr47DOzP3/JEvXni8iV1GffBq23rufxfz7Orb1vZf498/H29AbM0P/pT8HNzbxn/u23O7hQ\nEWk16rN3AbeE3sLmZzfTsUNH4t6MY9nOZRiGwYgRkJtr9uM/8QTcdx9kZYHN5uiKRcTRdGTfxq3a\nt4qp/5pKQJcA5t09j0E9BwFm//3778Nbb8Hx4zBhAowbB716ObhgEWkRTc1OhX07UH2xmnc2vcOv\ns3/NPRH38OqIVwnuVnvTuY0bzdBfuhSSk+GZZ+Duu6FDB8fVLCLXRmHvwsrPlzNn3RzSN6Tz/JDn\n+ektP6XLDV3s00+fNk/gpqebz2fOhIceMvv4RaRtUdgLB0oPMH3NdLILs/npLT9lYuJEOnt0tk83\nDPPnEH/xC3Po5iuvwJgx0Mj73omIE1DYi93m4s28+p9XWXdwHVNvnspzSc/RtWNX+3TDgE8/hV/+\n0uzSeeUVuOcehb5IW6CwlytsP7qd//vi/1izfw3PD3me54c+j4+nj336xYvw0Ufw61+Djw/85CeQ\nmgqeng4sWkQapLCX77Tr+C5mrZvFit0rmJQ4iSk3T8G/s799us0G//gHLFoEmzbBgw+aQzhvvllH\n+yLORmEvV7Xv5D7mfjmXD/I+YHzCeKbdMo0gr6A68xw8CH/9K7z3nnnk//jj8NhjcOONDipaROpQ\n2EujWcusvLb+Nf6y9S88OuBRfjr8p/T27l1nHsMwL9R6/31z6Gb//mbojx0L3t4OKlxEFPbSdCVn\nSvjdV79j0aZF/CD6Bzw/5HniguKumO/8ecjMhD//GdasgZQUM/jvuUc/myhyvSnspdlOVJxgYe5C\n3tn8Dt07defJuCd5ZMAjBHQJuGLekyfN/v0//xl27zb79x94wLwfj3uDP3YpIi1BYS/X7KJxkezC\nbN7d/C7Ldy0nOSyZJ+OfZFTkKG7ocMMV8+/fb3bxfPih2dc/ZowZ/CNHwg1Xzi4iLUBhLy3q9PnT\nfJD3Ae9ueZedx3fyZNyTPDP4GcK7h9c7f0GBOYzzww9h504YPRruvx/uvBO6dq13ERFpBoW9tJo9\nJ/bw1oa3eHfLuwzqOYhnBz/L6KjRuLvV329TVAT//Cd88gl89RUMGwbf/77ZbrrpOhcv0s4o7KXV\nVVZX8mHeh7y54U32n9rPhIQJjB80/oqRPJc6fRpWrYIVK8yrdv39zdC/91645RZ194g0lcJerqvt\nR7fz5rdvsmT7EiK6R/Bg7IM8EPsAYT5h37nMxYvw7bdm8Gdlwa5dMGKEOaonJUVH/SKNobAXh7hg\nu8DawrX8Y8c/+HjXx9zkcxNjY8cyNnYsfXz7NLjssWPmUX9WFvzrX+Dra96CeeRI+N73zNciUpfC\nXhyu+mI12YXZfJD3Af/c+U96evUkNSqVMVFjGNRzEJYG7r1w8SJs2QL//rf5M4vr10NEhHnkP2KE\nObSzW7fr+MeIOKkWD/usrCymTJmCzWZjwoQJ/OxnP7tinhdeeIGVK1fSuXNn3n33XRISEgAoLS1l\nwoQJ7NixA4vFwjvvvMPNN998TQVL22K7aOOrQ1+xfNdylu1axtmqs4zuO5rUqFRG3DQCT/eG77ZW\nVQXffFP7o+q5uRAba4b+7bfDrbdC9+7X6Y8RcSItGvY2m42oqChWr15NcHAwSUlJZGRkEBMTY58n\nMzOThQsXkpmZyddff81PfvITcnJyAHjiiSf43ve+x1NPPUV1dTVnz57F+7Jr7BX2rmXX8V0s37Wc\n5buXs7VkK3eH3839UfczKnIUvp2u3l9TWWkG/n/+Y7acHAgLqw3/oUOhd2/duE3avxYN+6+++oqZ\nM2eSlZUFwJw5cwD4+c9/bp/n2WefZcSIETz88MMAREdH8/nnn+Pp6UlCQgL79+9v0YKl/Th29hgr\ndq/g410fs7ZgLUOCh3B/9P2MiRpDqHdoo9Zx4YJ5h86a8M/NNe/nk5RUtwVceRGwSJvW1Oxs8ML2\noqIiQkNr/9OFhITw9ddfX3WeQ4cO0aFDBwICAhg3bhxbtmxh8ODBzJ8/n86dOyMCENAlgHEJ4xiX\nMI6zVWdZtX8VH+/8mBnZM+jt3Zv7Iu/j3sh7GRo8lA5u9f9grocHDBlithdfNIP+0CGz6+ebb2De\nPNiwwTzJO3iw2RITzUd1/4graTDsGzqRdqnL9y4Wi4Xq6mo2btzIwoULSUpKYsqUKcyZM4eXX375\niuVnzJixULG8AAAOb0lEQVRhf56cnExycnKjPlfajy43dOH+6Pu5P/p+qi9Ws966npV7VjLp00kc\nKj9ESngKoyJHkRKeUu+9empYLBAaarYf/tB87+JF2LPHDP0NG+DVV81vA/7+ZugPGgRxcRAfDz17\nqgtInFN2djbZ2dnNXr7BbpycnBxmzJhh78aZPXs2bm5udU7SPvvssyQnJ5OWlgbUduMYhsGwYcMo\nKCgAYN26dcyZM4cVK1bULUDdOHIVh8oPsXLPSlbuXcmagjVEdI9gRNgIRoSN4LYbb6Nbx6YPz6nZ\nAXz7rRn8W7bA5s3mtPh4M/xrWnS0LvoS59OiffbV1dVERUWxZs0aevXqxZAhQxo8QZuTk8OUKVPs\nJ2hvv/12Fi1aRN++fZkxYwbnzp1j7ty511SwuLYqWxW5RbmsLVjL2sK1fHP4G2IDYu3hPyx0WLPC\nH8wuoCNHzNCvCf9t28z7/URGwsCBtW3AAOjVS98CxHFafOjlypUr7UMvx48fz/Tp00lPTwdg4sSJ\nAEyePJmsrCy6dOnC4sWLGTRoEABbtmxhwoQJVFVVER4ezuLFizUaR1pUZXUlXx/6mrWFa8kuzObb\nw9/S168vw0OHc2vvWxneezgh3UKu6TPOnYP8fNi6tW6rqjKP+mNjISamtoWFmT/gLtKadFGVuLQq\nWxUbj2xk3cF19uZ1gxfDew8nqVcSQ4KHkBCUQCePTtf8WSdOmDuBvDzzseb5sWPmhWB9+0JUlNlq\nnuuksLQUhb3IJQzDYPeJ3Xxp/ZJvir7hm8PfkHcsj75+fe3hn9grkX49+tV7r/7mOHvWPB+wa5fZ\ndu+ufd6xY93wr3keHm5OE2kshb3IVVRWV7K1ZKs9/L89/C37T+0nNiCWwT0HM7jXYAb1HMSAHgPo\n6N5yCWwYUFJS/07g4EEICjJvAtenT22reR0QoPMDUpfCXqQZzladZUvJFjYc3sCGIxvYeGQje0/u\nJdIvkrjAOOIC44gPiicuKA7/zv4t/vkXLoDVap4M3r//ynb+vBn8l7Y+fczzA717mz/+rp2Ba1HY\ni7SQcxfOsf3odraUbGFL8Ra2lGxha8lWutzQhYGBA4nxjyHKL4oo/yii/aMJ7BLY6GtTmqq8vHZH\nUFBQ+/zAAbNZLHDjjWbw17Sa6w1CQyE4WN1E7Y3CXqQVGYbBgbIDbCvZxs7jO9l1Ypf9scpWRbR/\nNNH+0UT5RdmfR3SPaLHzAfXXBGVlZugfPGi2AwfMbwqHDpmPR46YVxGHhkJIiDlstGdPs9U879XL\nvNDMza3VSpUWpLAXcZATFSfYdWIX+cfy7TuBncd3crDsIL29exPtH03/Hv3N7qDAOCK6R3znbSBa\nms1mni+o2QEcOWK2w4drHw8fNn9RLCjI3CEEB9d97NHDPHcQEAB+fuDe4PX30toU9iJOpspWxb6T\n+8g/ns+2km1sLtnM5uLNHDt7jAGBA+znBGICzG6hIK+gVusOuprKSjP0i4rMncKlj0ePmsNKjx+H\nkyfN3xUICDB3AvV9S6h5z9dX5xNag8JepI0orSxla8lWNhdvZmvJ1jrdQfZzAX7R9PXrSx/fPvTx\n7dOo20BfDzYbnDplhv/Ro1BcXPdbQs03hyNHoKLC3CEEBta2oCDzvcubv7++MTSWwl6kjavpDtp1\nfBe7Tuxi94ndFJQWsO/kPjq4daCPbx/CfcPp49uHMJ8we7vR+8YWuVispZ0/b3YhlZSYO4Wax5od\nxaWt5huDv7/5rcHf/8rm51e3+fq65hXLCnuRdsowDE6cO8H+U/vZf2o/+07uo7C0kANlBygsLeRg\n2UG8Pb3twd/buze9vXsT2i3U/ty/s7/Duogao+Ybw/Hjta2m66imnThR244fN0cq1ewgLt8RXNq6\nd6/bvLzadveSwl7ERV00LlJypoTC0kIKSwuxlls5WHbQ/niw7CAVFyoI7RZq/zZwk89Ndb4dBHoF\n4mZpW8NxanYQl+4ELt8h1Ew/ebK2nT9vhr6vr9lqnl/6no/PlY8+PtC1q+N3FAp7EflOZ6vOcrDs\nIAfKDlBwqsDcMZSZO4eCUwWUVpYS5BVEr6697K2nV096de1FcLdgQrqFENw1mG4duzn1N4TGqKw0\ndwKXt5MnzcfS0tr3ap7XPFZWmheyXb4T8PGpfd/bu27z8TG/gXh7m4/Xettshb2INFtldSXFZ4o5\nfPqwvR05fYSi00VmKy/iUPkhLBYLwV3/G/7dgunl1YueXXtesZNoydtNOJMLF8xrG2p2ADXt1Cnz\n/YZaebn56O5eG/ze3ua3hW7dalvXrmbX1LRp9degsBeRVmUYBuXny+uE/5EzRzhy+giHz9TuII6c\nOUIXjy4EegUS5BVEYJdAs/33dUDnAAK6BNCjSw8COgfgdYNXm/+20FiGYd46uyb4y8vNaxzKy+s2\nmw1++cv616GwFxGnYBgGJ8+dpORsCcVniik589/H/74+VnGMY2eP2R+rL1YT0CXAvhMI6HzZ8/8+\ndu/Une6duuPbybdVr0x2dgp7EWmTKi5UcLziOEfPHq2zE6h5PFpxlOMVxzl17hQnz53kVOUpPN09\n7eEf0DnA/NbQJYhAL/NbRJCX+dzX0xcfT5929e1BYS8iLsEwDE5XnebkuZOcqDjBsYpjlJwpqf0m\ncbbE/rq0spRT505RWV2Jt6e3Pfx9PH3w6+xHd09zh+HX2c++8/Dr5IdfZz/8OpnvXa9bWzSWwl5E\n5DtcsF2g7HwZpZWllFaWmt8Qzp3ixLkTnKg4Ye44zp3gxLkT9p3IiXMnKKsso2vHrvh39sevk599\nR+Hj6YN3R+/a557eeHf0vuKxa8euLT6kVWEvItLCbBdtlFaW2ncKpZWldXYal7ay82WUVZbVeay4\nUEG3jt3w9fTFt5Ovec7B09f+2tfTF29P7yt2Hj6ePvTs2rPemhT2IiJOxnbRRtn5Mk6dO8WpylN1\nzjucPHeSssqyOjuQmkc3ixs7nttR7zoV9iIiLqCp2dm2rosWEZFmuWrYZ2VlER0dTWRkJHPnzq13\nnhdeeIHIyEji4uLYtGlTnWk2m42EhARGjx7dMhWLiEiTNRj2NpuNyZMnk5WVRV5eHhkZGeTn59eZ\nJzMzk71797Jnzx7eeustJk2aVGf6/PnziY2NbTdjW1tTdna2o0twGtoWtbQtamlbNF+DYZ+bm0tE\nRARhYWF4eHiQlpbGsmXL6syzfPlynnjiCQCGDh1KaWkpJSUlABw6dIjMzEwmTJigfvlG0D/kWtoW\ntbQtamlbNF+DYV9UVERoaKj9dUhICEVFRY2eZ+rUqbz22mu46ReMRUQcqsEUbmzXy+VH7YZhsGLF\nCnr06EFCQoKO6kVEHM1owFdffWWkpKTYX8+aNcuYM2dOnXkmTpxoZGRk2F9HRUUZR44cMaZPn26E\nhIQYYWFhRlBQkNG5c2fjscceu+IzwsPDDUBNTU1NrQktPDy8ofi+QoPj7Kurq4mKimLNmjX06tWL\nIUOGkJGRQUxMjH2ezMxMFi5cSGZmJjk5OUyZMoWcnJw66/n888/57W9/yyeffPJdHyUiIq2owd9x\nd3d3Z+HChaSkpGCz2Rg/fjwxMTGkp6cDMHHiREaNGkVmZiYRERF06dKFxYsX17sujcYREXEch19B\nKyIirc+hw2Qac8FWe/XUU08RGBjIgAED7O+dPHmSu+66i759+3L33XdTWlrqwAqvH6vVyogRI+jX\nrx/9+/fnj3/8I+Ca26OyspKhQ4cSHx9PbGws06dPB1xzW8CVF2W66nYACAsLY+DAgSQkJDBkyBCg\nadvDYWHfmAu22rNx48aRlZVV5705c+Zw1113sXv3bu644w7mzJnjoOquLw8PD37/+9+zY8cOcnJy\neP3118nPz3fJ7eHp6cnatWvZvHkzW7duZe3ataxbt84ltwVceVGmq24HMLvCs7Oz2bRpE7m5uUAT\nt0eTTue2oPXr19cZ6TN79mxj9uzZjirHIQoKCoz+/fvbX0dFRRnFxcWGYRjGkSNHjKioKEeV5lBj\nxowxVq1a5fLb4+zZs0ZiYqKxfft2l9wWVqvVuOOOO4zPPvvM+P73v28Yhmv/HwkLCzOOHz9e572m\nbA+HHdk35oItV1NSUkJgYCAAgYGB9iuRXUlhYSGbNm1i6NChLrs9Ll68SHx8PIGBgfbuLVfcFvVd\nlOmK26GGxWLhzjvvJDExkbfffhto2vZocDROa9LonIZZLBaX20ZnzpzhgQceYP78+XTt2rXONFfa\nHm5ubmzevJmysjJSUlJYu3ZtnemusC0uvSjzu26R4Arb4VJffvklPXv25NixY9x1111ER0fXmX61\n7eGwI/vg4GCsVqv9tdVqJSQkxFHlOIXAwECKi4sBOHLkCD169HBwRdfPhQsXeOCBB3jssce4//77\nAdfeHgDe3t7cd999bNiwweW2xfr161m+fDk33XQTP/rRj/jss8947LHHXG47XKpnT/MXqwICAvjB\nD35Abm5uk7aHw8I+MTGRPXv2UFhYSFVVFUuXLiU1NdVR5TiF1NRU3nvvPQDee+89e+i1d4ZhMH78\neGJjY5kyZYr9fVfcHsePH7ePqDh37hyrVq0iISHB5bbFrFmzsFqtFBQUsGTJEkaOHMmf//xnl9sO\nNSoqKjh9+jQAZ8+e5d///jcDBgxo2vZozRMKV5OZmWn07dvXCA8PN2bNmuXIUq67tLQ0o2fPnoaH\nh4cREhJivPPOO8aJEyeMO+64w4iMjDTuuusu49SpU44u87r44osvDIvFYsTFxRnx8fFGfHy8sXLl\nSpfcHlu3bjUSEhKMuLg4Y8CAAcZvfvMbwzAMl9wWNbKzs43Ro0cbhuG622H//v1GXFycERcXZ/Tr\n18+el03ZHrqoSkTEBejewyIiLkBhLyLiAhT2IiIuQGEvIuICFPYiIi5AYS8i4gIU9iIiLkBhLyLi\nAv5/qZggMUhowZwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f29ec6629d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pl.plot(perceptron.train_errors, label='train')\n",
    "pl.plot(perceptron.validation_errors, label='validation')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEKCAYAAAAW8vJGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4VFX6xz93eibJpPdCgAABaaGDVFEQG4KuwroWZBVd\nsbu7qIti15+61lWxrFixrQ1QsIKIkFADhJYE0nsvk+n398fATSaThEACBDif5/Ex5556J+R855T3\nfSVZlmUEAoFAIDiM6lQPQCAQCATdCyEMAoFAIPBACINAIBAIPBDCIBAIBAIPhDAIBAKBwAMhDAKB\nQCDwQAiDoEvJzs5GpVLhcrk6VP6GG25g8eLFnerzo48+Yvr06Uctd+utt/L44493qq+2mDdvHsHB\nwYwZM+aEtN8WF110ER988MFJ7VNw5iMJO4bjIyEhgdLSUjQaDWq1mgEDBnDddddx8803I0nSUetn\nZ2fTq1cvHA4HKtWJ0+eT1c/x9jdv3jzi4uJ49NFHT/jYThTr16/nz3/+MxkZGRgMhhPWz5IlS8jK\nyhJCIDjhiBXDcSJJEitXrqS2tpbc3FwWLVrEM888w/z584+pnZOly91Z/7vz2DpCTk4OCQkJJ1QU\nBIKTiRCGLsDf359LL72UTz/9lPfee4/09HQAVq1aRXJyMgEBAcTHx/PII48odSZOnAhAYGAg/v7+\npKSkkJWVxXnnnUdoaChhYWH85S9/oaamRqnzzDPPEBsbi8lkIikpiV9++QVwT6xPP/00iYmJhIaG\ncvXVV1NVVdVmPy1JTU1l7NixBAUFER0dze23347dblfyVSoVS5cupW/fvgQFBbFw4UIlz+Vycd99\n9xEWFkbv3r1ZtWpVu5/V9u3bGTZsGCaTiTlz5mCxWDzyV65cydChQwkKCuLcc89l165dSl5eXh6z\nZ88mPDyc0NBQbr/9dgCWLVvGhAkTlM/i7rvvJiIigoCAAAYPHsyePXsA722rt956iz59+hASEsLM\nmTMpKirq0Ds355133uGmm25i48aN+Pv7s2TJEo/xNG/v4MGDyjhuu+02LrnkEkwmE2PGjFHyANLT\n07ngggsICQkhMjKSp556ijVr1vDUU0/x6aef4u/vT3JyMgCTJ0/mnXfeUd798ccfJyEhgYiICK6/\n/npqa2uBpi2+999/nx49ehAWFsaTTz7Z7u9KcBYjC46LhIQE+eeff/Z6Hh8fL7/xxhuyLMvy2rVr\n5d27d8uyLMs7d+6UIyIi5K+//lqWZVnOzs6WJUmSnU6nUjczM1P+6aefZJvNJpeVlckTJ06U77rr\nLlmWZXnfvn1yXFycXFRUJMuyLOfk5MhZWVmyLMvyiy++KI8dO1YuKCiQbTabvGDBAnnu3Llt9tOS\nrVu3yikpKbLT6ZSzs7Pl/v37yy+++KKSL0mSfOmll8o1NTVybm6uHBYWJq9evVqWZVl+/fXX5aSk\nJDk/P1+urKyUJ0+eLKtUqlb7s1qtcnx8vPziiy/KDodD/uKLL2StVisvXrxYlmVZ3rZtmxweHi6n\npqbKLpdLfu+99+SEhATZZrPJDodDHjx4sHzPPffIZrNZtlgs8oYNG2RZluV3331XHj9+vCzLsrx6\n9Wp5+PDhck1NjfK5HfnMbrjhBqWvn3/+WQ4NDZW3b98uW61W+fbbb5cnTpzYoXduybJly5T+W46n\neXtHfl/XX3+9HBISIm/evFl2OBzyNddcI8+ZM0eWZVmura2VIyMj5X//+9+y1WqV6+rq5JSUFFmW\nZXnJkiXytdde69Hu5MmT5XfeeUeWZVl+55135MTERPnQoUNyfX29PHv2bKX8oUOHZEmS5Jtvvlm2\nWCxyWlqarNfr5b1797b6ToKzG7Fi6GKio6OprKwEYNKkSZxzzjkADBo0iDlz5rBu3Tqg9e2T3r17\nM3XqVLRaLaGhodx9991KebVajdVqJT09HbvdTnx8PL169QJg6dKlPP7440RHR6PVann44Yf54osv\ncLlcHdqmGTZsGKNGjUKlUtGjRw9uvvlmpd8jLFq0CJPJRFxcHFOmTCEtLQ2Azz77jLvvvpuYmBiC\ngoJ44IEH2uxz06ZNOBwO7rzzTtRqNVdccQUjR45U8t98800WLFjAyJEjkSSJ6667Dr1ez8aNG0lN\nTaWoqIhnn30WHx8f9Ho948aN8+pDq9VSV1fH3r17cblc9OvXj8jISK9yH330EfPnz2fo0KHodDqe\neuopNm7cSG5ubpvvvGPHjlbfqyOfcXMkSWL27NmMGDECtVrNNddco7S9cuVKoqOjufvuu9HpdPj5\n+TFq1Ciln/b6+uijj7j33ntJSEjA19eXp556ik8++cTjIsDDDz+MXq9n8ODBDBkyRPk9CgTNEcLQ\nxRQUFBAcHAxASkoKU6ZMITw8nMDAQJYuXUpFRUWbdUtKSpgzZw6xsbEEBARw7bXXKuUTExN58cUX\n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\neq9112RgaOnTTz/lpptu6upudHsdSa4ROi47O5vk5GRGjBjR1V2RMRqNDBo0CD8/P8aPH09MTExX\nd0nm8ccfZ/HixZYPdsKlcdWuSoqLi6OwsNDq+VdffdUyNvnKK6+g1Wq54447Lnf3OtS/7kR8be88\ntbW1zJkzhyVLllitVe9qSqWSw4cPU1VVxeTJk0lMTGTcuHFd3S0AfvzxR3x9fYmNjRXL4C+xqzYw\nbN68ud3XP/vsMzZs2MCWLVsuU4/kzte/7qYjyTXC+en1em699VbuvPNOZs6c2dXdaZObmxvTpk3j\nwIED3SYw7N69m/Xr17NhwwYaGxuprq7mT3/6E1988UVXd+2qc01+H0tISGDx4sXEx8djb2/f1d1p\nV3cZR22ZXKPT6Vi1ahUzZszo6m5dUUwmE/PnzycmJoZFixZ1dXeslJaWUllZCZgzizdv3kxsbGwX\n96rZq6++Sk5ODqdOnWLlypVMmDBBBIVL5JoMDI888gi1tbXExcURGxvLww8/3NVdklm7di0hISHs\n3buXadOmMXXq1K7ukixBJiYmhttuu63dBJmucPvttzNq1CgyMjIICQmxJPd0F7t27eKrr75i27Zt\nxMbGEhsb261WURUUFDBhwgQGDRrEiBEjmD59OjfeeGNXd6tNYnjz0hEJboIgCILMNfmNQRAEQWib\nCAyCIAiCjAgMgiAIgowIDIIgCIKMCAyCIAiCjAgMgiAIgowIDIIgCIKMCAyCIAiCzP8DB+BicMwZ\nbvoAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f29c284c5d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from mpl_toolkits.axes_grid1 import make_axes_locatable\n",
    "import matplotlib.gridspec as gridspec\n",
    "\n",
    "def show_decision_boundary(clf, X, y, subplot_spec=None):\n",
    "    assert X.shape[1] == 2\n",
    "    wratio = (15, 1)\n",
    "    if subplot_spec is None:\n",
    "        gs = gridspec.GridSpec(1,2, width_ratios=wratio)\n",
    "    else:\n",
    "        gs = gridspec.GridSpecFromSubplotSpec(1, 2, subplot_spec=subplot_spec, width_ratios=wratio)\n",
    "        \n",
    "    ax = pl.subplot(gs[0])\n",
    "    ax.set_title('Dataset and decision function')\n",
    "    \n",
    "    x_min, x_max = X[:,0].min() - 1, X[:,0].max() + 1\n",
    "    y_min, y_max = X[:,1].min() - 1, X[:,1].max() + 1\n",
    "    h = 0.2 # step size in the meshgrid\n",
    "    xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
    "                         np.arange(y_min, y_max, h))\n",
    "\n",
    "    Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()])\n",
    "    Z = Z.reshape(xx.shape)\n",
    "    ctr = ax.contourf(xx, yy, Z, cmap=cm.gray, vmin=0, vmax=1)\n",
    "    \n",
    "    unique_labels = np.unique(y)\n",
    "    colors = cm.Paired(np.linspace(0, 1, num=len(unique_labels)))\n",
    "    for i, yi in enumerate(unique_labels):\n",
    "        color = colors[i]\n",
    "        ax.scatter(X[y == yi, 0], X[y == yi, 1], c=color, linewidth=0, label='%d' % yi)\n",
    "    ax.legend()\n",
    "    ax.set_xlim((x_min, x_max))\n",
    "    ax.set_ylim((y_min, y_max))\n",
    "\n",
    "    pl.colorbar(ctr, cax=pl.subplot(gs[1]))\n",
    "\n",
    "show_decision_boundary(perceptron, X, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Making a video of the training\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nelxTUxMWL16MpKQkWFtbD2p8RKRf+NYeEVEX/aml1X2f4uJiuLm5ARBrdS1atAhLly7FggULem3j\nrbfeUv8cERGBiIiIwTsBIhqQtLQ0pKWlaX0839ojGkJ8a0//dXR0YMqUKTh69ChcXV0RFhaGnTt3\nagzcLJfLkZycDLlcjvT0dKxduxbp6ekQBAHx8fFwcHDApk2bev18vrVHpN8G+h3lFSkioi76U0tr\n3rx5kMvl8PLygpWVFbZu3QpAHCLnq6++wrRp0xAcHAwAePfddzFnzpxhOx8i0i1ekSIaQrwiRbwi\nRaTfWEeKiIiIaIgwkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMpIiIiIi0x\nkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMpIiIi\nIi0xkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMpIiIiIi0xkSIiIiLSEhMp\nIiIiIi0xkSIiDampqfDx8YG3tzfef//9XvdZs2YNvL29ERgYiMzMzAEdq+9G+/kT0cCMiESqvb2d\n7bE9tjcIVCoVVq9ejdTUVFy6dAk7d+5ETk6Oxj5yuRz5+fnIy8vDZ599hlWrVvX7WH032s//XtLS\n0oY7BK0YatyA4cZuqHFrg4kU22N7I6y9+5GRkQEvLy94eHjA1NQUcXFxSElJ0dhn//79iI+PBwCE\nh4ejrq4O5eXl/TpW3432878XQ/3P0VDjBgw3dkONWxsjIpEiosFRUlICd3d39bJMJkNJSUm/9ikt\nLb3nsfputJ8/EQ0cEykiUpNIJP3aTxAEHUcyPEb7+RPRwJnouoEZM2bg559/1nUzaGlp0XkbbI/t\n3W97t/+jnjFjhk7aqampGdD+1tbWGstubm5QKBTqZYVCAZlMdtd9iouLIZPJ0N7efs9j9d1QnL+n\np2e/EzZ9tGHDhuEOQSuGGjdguLEbatyenp4DO0AgIrqlvb1dmDRpklBQUCDcvHlTCAwMFC5duqSx\nzz//+U9h7ty5giAIwunTp4Xw8PB+H6vvRvv5E9HA6fyKFBEZDhMTEyQnJyMmJgYqlQoJCQnw9fXF\nli1bAAArV67EvHnzIJfL4eXlBSsrK2zduvWuxxqS0X7+RDRwEkHgzX4iIiIibYyYh81fe+01+Pr6\n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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f29c26726d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.animation as manimation\n",
    "from tempfile import NamedTemporaryFile\n",
    "\n",
    "AVConvWriter = manimation.writers['avconv']\n",
    "metadata = dict(title='Perceptron training', artist='',comment='')\n",
    "writer = AVConvWriter(fps=4, metadata=metadata, codec=\"libx264\", extra_args=['-vcodec', 'libx264'])\n",
    "perceptron = Perceptron(X.shape[1])\n",
    "\n",
    "fig = pl.figure(figsize=(10, 5))\n",
    "gs = gridspec.GridSpec(1, 2, wspace=0.4)\n",
    "\n",
    "nepochs = 50\n",
    "\n",
    "err_ymax = None\n",
    "\n",
    "with NamedTemporaryFile(suffix='.mp4') as f:\n",
    "    with writer.saving(fig, f.name, 100):\n",
    "        for epoch in xrange(nepochs):\n",
    "            perceptron.train(X_train, y_train, X_validation, y_validation, epochs=1, minibatch_size=10)\n",
    "\n",
    "            if err_ymax is None:\n",
    "                err_ymax = max(np.max(perceptron.train_errors),\n",
    "                               np.max(perceptron.validation_errors)) * 1.1\n",
    "\n",
    "            show_decision_boundary(perceptron, X, y, gs[0])\n",
    "\n",
    "            ax = pl.subplot(gs[1])\n",
    "            pl.title('Error')\n",
    "            pl.plot(perceptron.train_errors, label='train')\n",
    "            pl.plot(perceptron.validation_errors, label='validation')\n",
    "            ax.set_xlim(0, nepochs)\n",
    "            ax.set_ylim(0, err_ymax)\n",
    "            ax.set_xlabel('epochs')\n",
    "            ax.set_ylabel('error')\n",
    "            pl.legend()\n",
    "\n",
    "            writer.grab_frame()\n",
    "    video = open(f.name, \"rb\").read()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from IPython.display import HTML\n",
    "\n",
    "VIDEO_TAG = \"\"\"<video style=\"width:80%\" controls>\n",
    " <source src=\"data:video/x-m4v;base64,{0}\" type=\"video/mp4\">\n",
    " Your browser does not support the video tag.\n",
    "</video>\"\"\"\n",
    "\n",
    "HTML(data=VIDEO_TAG.format(video.encode(\"base64\")))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  },
  "name": ""
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
